home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 050 / turbo.bug < prev    next >
Text File  |  1985-06-03  |  1KB  |  47 lines

  1. The following program documents a bug in Turbo Pascal's treatment of
  2. variables declared within a record.  See notes below.
  3.  
  4. This is in Turbo 2.0, I have not checked 3.0.
  5.  
  6.  
  7.  
  8.  
  9.  
  10. PROGRAM BUG;
  11.  
  12. CONST
  13.    MIN = 1;
  14.  
  15. VAR
  16.    PLAYER : RECORD
  17.             NAME  : STRING [10]; (* PLAYER'S NAME   *)
  18.             MIN   : INTEGER;     (* MINUTES PLAYED *)
  19.             END;    (* PLAYERRECORD *)
  20.  
  21. BEGIN (* PROGRAM BUG *)
  22.  
  23. PLAYER.NAME := 'JEFF COLE ';
  24. PLAYER.MIN  := 5;
  25. WITH PLAYER DO
  26.    WRITELN (NAME, MIN);
  27.  
  28. END.  (* PROGRAM BUG *)
  29.  
  30. { THERE SEEMS TO BE A PROBLEM IN TURBO WITH VARIABLES DECLARED IN RECORDS.
  31.   THE ABOVE PROGRAM SHOULD PRINT " JEFF COLE 5 ", BUT USES THE GLOBAL CONST
  32.   MIN AND PRINTS " JEFF COLE 1 ".  ALSO, IF YOU CHANGE WRITELN (NAME, MIN);
  33.   TO : BEGIN (* WITH *)
  34.        WRITE (NAME);
  35.        WRITELN (MIN);
  36.        END;  (* WITH *)
  37.   (WHICH SHOULD DO THE SAME THING), IT PRINTS " JEFF COLE 5 ".  BY MAKING
  38.   ANOTHER CHANGE TO : BEGIN (* WITH *)
  39.                       WRITE (CON, NAME);
  40.                       WRITELN (CON, MIN);
  41.                       END;  (* WITH *)
  42.   YOU WILL GET " JEFF COLE 1 ".  I HAVE ALERTED BORLAND ABOUT THIS PROBLEM.
  43.  
  44.   JEFF COLE
  45.   ANOKA - RAMSEY COMMUNITY COLLEGE
  46.   612-427-2600 }
  47. FF COLE 1 ".  I HAVE A